package org.springblade.modules.platform.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
public class PhysicalDataTableVO {

    /**
     * 采集时间
     */
    @ApiModelProperty(value = "采集时间")
    private Long gatherTime;

    /**
     * 1:定时采集；2：手动采集
     */
    @ApiModelProperty(value = " 1:定时采集；2：手动采集")
    private Integer gatherEvent;

    /**
     * 测量链编号
     */
    @ApiModelProperty(value = "测量链编号")
    private Integer measurChainCode;

    /**
     * 测量链
     */
    @ApiModelProperty(value = "测量链")
    private String measurChain;

    /**
     * 测量链方向
     */
    @ApiModelProperty(value = "测量链方向")
    private Integer measurChainDirection;

    /**
     * 测量链方向
     */
    @ApiModelProperty(value = "测量链方向")
    private String measurChainDirectionName;


    @ApiModelProperty(value = "测台集合")
    private List<BenchTypeVO> benchTypeVOS;

    @NoArgsConstructor
    @Data
    public static class BenchTypeVO {
        /**
         * 测台类型
         */
        @ApiModelProperty(value = "测台类型")
        private Integer benchTypeCode;

        /**
         * 测台类型名称
         */
        @ApiModelProperty(value = "测台类型名称")
        private String benchTypeName;


        /**
         * 测台名称
         */
        @ApiModelProperty(value = "测台名称")
        private String measuringPlatformName;



        /**
         * 测台名称
         */
        @ApiModelProperty(value = "测台编号")
        private Integer measuringPlatformCode;


        /**
         * 排序
         */
        @ApiModelProperty(value = "排序")
        private Integer sort;


        @ApiModelProperty(value = "设备名称集合")
        private List<DeviceVO> deviceVOS;

        @NoArgsConstructor
        @Data
        public static class DeviceVO {

            private Integer id;
            /**
             * 设备ID
             */
            @ApiModelProperty(value = "设备编号")
            private String deviceId;

            /**
             * 设备名称
             */
            @ApiModelProperty(value = "设备名称")
            private String deviceName;


            @ApiModelProperty(value = "数据类型")
            private List<DataTypeVO> dataTypeVOS;

            @NoArgsConstructor
            @Data
            public static class DataTypeVO {
                @ApiModelProperty(value = "数据类型key")
                private String key;

                @ApiModelProperty(value = "数据类型name")
                private String dataName;


                @ApiModelProperty(value = "一次量")
                private String primaryQuantity;



                @ApiModelProperty(value = "物理量")
                private String physicalQuantity;
            }


        }
    }




}
